<?php
/**
 * @Description 生成静态html
 * @Sonkwl Xiong
 * @Date 2023/07/11 13:55:43
 */
namespace Sonkwl\UsePHP;

class staticweb{
    static private $releasePage=array();//发布页面
    static private $templateArr=array();//模板替换变量
    static private $page="index";//页面
    static private $url="http://";//网页

    //@Sonkwl Xiong 2023/07/11 13:57:51
    //@Desc 配置发布页面
    static public function SetReleasePage($arr){
        self::$releasePage=$arr;
        return __CLASS__;
    }
    //@Sonkwl Xiong 2023/07/11 13:57:51
    //@Desc 配置模板替换变量
    static public function SetTemplateArr($arr){
        self::$templateArr=$arr;
        return __CLASS__;
    }
    //@Sonkwl Xiong 2023/07/11 13:57:51
    //@Desc 配置网页
    static public function SetURL($url){
        self::$url=$url;
        return __CLASS__;
    }
    //@Sonkwl Xiong 2023/07/11 13:57:51
    //@Desc 配置页面
    static public function SetPage($page){
        self::$page=$page;
        return __CLASS__;
    }


    //@Sonkwl Xiong 2023/07/11 13:59:36
    //@Desc 模板处理
    static public function HTMLReplace($path){
        $html=file_get_contents($path."html/".self::$page.".html");
        foreach (self::$templateArr as $key => $value) {
            $search="/<data id=\"".$key."\">.*?<\/data>/si";
            $html=preg_replace($search,$value,$html);
        }
        return $html;
    }

    //@Sonkwl Xiong 2023/07/11 14:22:19
    //@Desc 发布网站
    static public function ReleaseWeb(){
        foreach (self::$releasePage as $key => $value) {
            if($key=="css"){
                if(!is_dir("bin/css")){
                    mkdir("bin/css",0777);
                }
                foreach ($value as $staticPage) {
                    file_put_contents("bin/css/".$staticPage,file_get_contents("src/html/css/".$staticPage));
                }
                continue;
            }
            $html=file_get_contents(self::$url."index.php?p=".$key);
            $html=preg_replace("/<base href=\".*?\".*?>/si","",$html);
            $path="bin/".$value;
            file_put_contents($path,$html);
        }
        echo '发布成功';
    }
}
?>